package models

import (
	"time"
	"github.com/astaxie/beego/orm"
    "github.com/astaxie/beego"
)

type IpccBillsTts struct {
	Id        int
	Text      string
	Appid     string
	CreatTime time.Time
	CallId    string
	TextCount int
	BillTimes int
}

func SaveTtsRecordToDb(records []*IpccBillsTts) bool {

	num := len(records)
	if 0 == num || nil == records {
		return false
	}

	o := orm.NewOrm()
	o.Using("default")

	succNum, err := o.InsertMulti(num, records)
	if err != nil || num != int(succNum) {
		beego.Error("insert to db failed :%v,success:%v,want to:%v!", err, succNum, num)
		return false
	}

	return true
}

func RegIpccBillsTtsRecord() {
	orm.RegisterModel(new(IpccBillsTts))
}

type TWebankBill struct {
	Id        int
	Callid    string
	appid     string    `orm:"appid"`
	caller    string    `orm:"caller"`
	called    string    `orm:"callid"`
	ivtTime   int       `orm:"ivtTime"`
	totalTime int       `orm:"totalTime"`
	billTime  int       `orm:"billTime"`
	callTime  time.Time `orm:"callTime";type(datetime)`
	creatTime time.Time `orm:"creatTime";type(datetime)`
}

func GetBillByCallId(callid string) (TWebankBill, error) {
	bill := TWebankBill{
		Callid: callid,
	}

	o := orm.NewOrm()
	o.Using("default")

	err := o.Read(&bill, "callid")
	return bill, err
}

func RegIpccBillsRecord() {
	orm.RegisterModel(new(TWebankBill))
}
